package org.lk.common.factory;

import com.ververica.cdc.connectors.mysql.table.StartupOptions;
import com.ververica.cdc.debezium.DebeziumSourceFunction;
import org.lk.entity.DataSourceEntity;
import org.lk.common.wrapper.Wrapper;

import java.util.List;

/**
 * @author: lk
 * @since:
 */
public abstract class StreamReader {
    protected DataSourceEntity dataSourceEntity;

    protected Wrapper wrapper = new Wrapper();

    public StreamReader(DataSourceEntity dataSourceEntity) {
        this.dataSourceEntity = dataSourceEntity;
    }

    public abstract String wrapperTableName(String tableName);

    public abstract DebeziumSourceFunction<String> readerSourceCdc(List<String> tableName, StartupOptions startupOptions);
}
